<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>javascript 阶段</title>
</head>
<body>


    <script>

        // 布尔值
        var flag = true;
        // foo 函数 (形参)
        function foo(callback){
            // 符合条件
            if(flag){
                // 判断 传递的callback 是否为函数
                if(typeof callback == "function") {
                    // 调用函数
                    callback();
                }
            }
        }

        // 调用foo函数(实参)
        // foo("hello")
        // var fn = function(){};
        // foo(fn)
        foo(function(){
            // 改变body标签背景色为红色
            document.body.style.background = "red";
        })


        // 函数不调用,代码不执行.

        // 回调函数:
            // 把 function(){} 作为一个实参,传递到另一个函数作用域中作为形参调用
            // 这个 function(){} 我们叫做回调函数



        // 定时器
        // setTimeout(function(){},1000);


    </script>
</body>
</html>